package dialogos;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.util.Date;
import javax.swing.BorderFactory;
import javax.swing.JDialog;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JSpinner;
import javax.swing.SpinnerDateModel;
import javax.swing.JSpinner.DateEditor;
import accesoADatos.AccesoADatos;
import datos.Cliente;
import datos.Profesional;
import datos.Reserva;
import datos.Turno;

@SuppressWarnings("serial")
public class ReservaExtraDialog extends ReservaDialog {

	public ReservaExtraDialog (JFrame frame, Turno t, Profesional p){
		super(frame, t, p);
		this.setTitle("Confirmacion de Turno Extra");
		this.setVisible(true);
	}
	public ReservaExtraDialog(JDialog dialogo, Date d, Profesional p) {
			super(dialogo, new Turno(d), p);
			this.setTitle("Confirmacion de Turno Extra");
			this.setVisible(true);
			}

	@Override
	protected void initFechaComponent() {
		SpinnerDateModel modelo = new SpinnerDateModel();
		modelo.setValue(this.t.getFecha());
		JSpinner spinner = new JSpinner(modelo);
		DateEditor editor = (DateEditor) spinner.getEditor();
		editor.getTextField().setHorizontalAlignment(JFormattedTextField.LEFT);
		editor.getTextField().setOpaque(false);
		editor.getTextField().setFont(new Font("Dialog", Font.BOLD, 12));
		spinner.setPreferredSize(new Dimension(150,20));
		//#1 spinner.setBorder(BorderFactory.createLineBorder(new Color(255,128,0)));
		this.hora = spinner;
		this.getContentPane().add(this.hora);		
	}


	public static void main(String[] args) {

	}
	
	@SuppressWarnings("deprecation")
	protected void jBAceptarActionPerformed(ActionEvent evt) {
		Reserva r=new Reserva();
		r.setCliente((Cliente)this.hash.get(jComboCliente.getSelectedItem().toString()));
		r.setProfesional(p);
		Date d = ((SpinnerDateModel)((JSpinner)this.hora).getModel()).getDate();
		t.getFecha().setHours(d.getHours());
		t.getFecha().setMinutes(d.getMinutes());
		r.setTurno(t);
		r.setTipo("Extra");
		r.setTipoServicio(this.jComboBox1.getSelectedItem().toString());
		AccesoADatos.getInstance().setObjeto(t);
		AccesoADatos.getInstance().setObjeto(r);
		JOptionPane.showMessageDialog(this,"El turno del dia " + formateador.format(t.getFecha()) + " con el profesional " + p.toString() + " ha sido confirmado." , "Turno Confirmado", JOptionPane.INFORMATION_MESSAGE);
		this.dispose();
	}

	protected void jComboBox1ActionPerformed(ActionEvent evt) {
		((JSpinner)this.hora).setValue(t.getFecha());
	}
}
